package com.dayuanit.dy17.atm.service;

import com.dayuanit.dy17.atm.domain.FlowDomain;
import com.dayuanit.dy17.atm.dto.CardDTO;
import com.dayuanit.dy17.atm.dto.FlowDTO;
import com.dayuanit.dy17.atm.entity.Card;
import com.dayuanit.dy17.atm.entity.Flow;
import com.dayuanit.dy17.atm.util.PageHelper;

import java.util.List;
import java.util.Map;

public interface ICardService {

    void openAccount(long userId, String password, String confirmPassword);

    void deposit(long cardId, String password, String amount, long userId);

    void transfer(long cardOutId, String cardInNumber,
                  String password, String amount, long userId);

    Map<String, Object> queryFlow(long cardId, String password, int currentPage);

    PageHelper<List<FlowDTO>> queryFlow2(long cardId, String password, int currentPage);

    List<CardDTO> queryMyCards(long userId);

    List<FlowDTO> queryFlowTop10(long userId);

    void delayTransfer(long cardOutId, String cardInNumber,
                       String password, String amount, long userId);

    void draw(long cardId, String password, String amount, long userId);
}
